Quality of Service mechanism ensures that the applications with the highest priority have priority treatment. As part of a resource allocation mechanisms, each network node (i.e. router) must implement some queuing discipline that governs how packets are buffered while waiting to be processed and/or transmitted. Processing of traffic flows based on prescribed Quality of Service policies may be facilitated by assigning incoming/outgoing packets to designated queues with a set of corresponding QoS specifications. For example, text, voice and multimedia services are typically associated with different QoS parameters and as such may be assigned to and processed via different queues. Network resources may then be properly allocated to different flows in accordance to associated QoS parameters.
However, the increasing diversity of emerging networking applications and resulting traffic flows with more and more diverse characteristics for transport over the Internet (e.g., http, p2p, audio and video streaming, e-mail, ftp, etc.) necessitates up-scaling of conventional implementation. Moreover, the aforementioned various traffic types require different treatment from the carrier network to finally meet the Quality of Experience requirements of the end users. As such networks have become, and will continue to be subject to a manifold of technical and service requirements with respect to throughput, latency, reliability, availability, as well as operational requirements such as energy and cost efficiency. The dire need to accommodate such level of diversity and the ever increasing expectations of the users necessitates architectures that can accommodate low over-head and highly scalable traffic differentiation and Quality of Service (QoS) guarantees for the data traffic carried across the network.